Add support for SmartClip interface in the glue layer. Bug: 18222974 Change-Id: Ie39d49e9dfe90f20b6eb5d28009313781eac8e01 
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromium.java b/chromium/java/com/android/webview/chromium/WebViewChromium.java index a485bd2..76a11ca 100644 --- a/chromium/java/com/android/webview/chromium/WebViewChromium.java +++ b/chromium/java/com/android/webview/chromium/WebViewChromium.java 
@@ -32,6 +32,7 @@  import android.os.Build;  import android.os.Bundle;  import android.os.Looper; +import android.os.Handler;  import android.os.Message;  import android.print.PrintDocumentAdapter;  import android.text.TextUtils; @@ -71,6 +72,7 @@  import org.chromium.android_webview.AwPrintDocumentAdapter;  import org.chromium.base.ThreadUtils;  import org.chromium.content.browser.LoadUrlParams; +import org.chromium.content.browser.SmartClipProvider;  import org.chromium.net.NetworkChangeNotifier;    import java.io.BufferedWriter; @@ -93,7 +95,7 @@  * and a small set of no-op deprecated APIs.  */  class WebViewChromium implements WebViewProvider, - WebViewProvider.ScrollDelegate, WebViewProvider.ViewDelegate { + WebViewProvider.ScrollDelegate, WebViewProvider.ViewDelegate, SmartClipProvider {    private class WebViewChromiumRunQueue {  public WebViewChromiumRunQueue() { @@ -2246,4 +2248,19 @@  return mWebViewPrivate.super_onHoverEvent(event);  }  } + + // Implements SmartClipProvider + @Override + public void extractSmartClipData(int x, int y, int width, int height) { + checkThread(); + mAwContents.extractSmartClipData(x, y, width, height); + } + + // Implements SmartClipProvider + @Override + public void setSmartClipResultHandler(final Handler resultHandler) { + checkThread(); + mAwContents.setSmartClipResultHandler(resultHandler); + } +  } 
diff --git a/chromium/proguard.flags b/chromium/proguard.flags index 6401a8c..b19519f 100644 --- a/chromium/proguard.flags +++ b/chromium/proguard.flags 
@@ -80,6 +80,12 @@  *** startFinalizer(java.lang.Class,java.lang.Object);  }   +# Keep support framework support for SmartClip. +-keep class com.android.webview.chromium.WebViewChromium { + public void extractSmartClipData(int,int,int,int); + public void setSmartClipResultHandler(android.os.Handler); +} +  # We need to explicitly keep classes and constructors referenced only in  # layout resources.  -keep class com.android.org.chromium.ui.ColorPickerAdvanced {